package com.ourteam.product.ui.dao;

import java.util.Arrays;
import java.util.List;
import java.util.Map;
import net.dao.BaseQueryBean;
import net.dao.BaseWhereCriterion;
import net.dao.IDataAccessInterface;
import org.apache.commons.lang.StringUtils;

/**
 * Template Name : DAO查询对象 Template Version : 1 Template Last Modfiy Date : Sat Aug 19 10:06:32 CST
 * 2017 Auto Generate Date : 2018-12-14 15:15:13 Warning ! This file will be overwrite when
 * regenerate !
 */
public class ProductUIListOptionDAOQueryBean extends BaseQueryBean {

  public ProductUIListOptionDAOQueryBean() {
    super();
  }

  public ProductUIListOptionDAOQueryBean(BaseQueryBean aQueryBean) {
    super(aQueryBean);
  }

  public ProductUIListOptionDAOQueryBean(BaseQueryBean aQueryBean, Map tableReplaceMap) {
    super(aQueryBean, tableReplaceMap);
  }

  public Criteria createCriteria() {

    Criteria criteria = createCriteriaInternal();
    if (oredCriteria.size() == 0) {
      oredCriteria.add(criteria);
    }
    return criteria;
  }

  protected Criteria createCriteriaInternal() {
    return new Criteria(this);
  }

  public void addIdSelectProperty() {
    addIdSelectProperty("id");
  }

  public void addIdSelectProperty(String aAlias) {
    if (StringUtils.isNotBlank(aAlias)) {
      addSelectProperty(IProductUIListOptionDAO.Id, aAlias);
    } else {
      addSelectProperty(IProductUIListOptionDAO.Id, "id");
    }
  }

  public void addListIdSelectProperty() {
    addListIdSelectProperty("listId");
  }

  public void addListIdSelectProperty(String aAlias) {
    if (StringUtils.isNotBlank(aAlias)) {
      addSelectProperty(IProductUIListOptionDAO.ListId, aAlias);
    } else {
      addSelectProperty(IProductUIListOptionDAO.ListId, "listId");
    }
  }

  public void addDataValueSelectProperty() {
    addDataValueSelectProperty("dataValue");
  }

  public void addDataValueSelectProperty(String aAlias) {
    if (StringUtils.isNotBlank(aAlias)) {
      addSelectProperty(IProductUIListOptionDAO.DataValue, aAlias);
    } else {
      addSelectProperty(IProductUIListOptionDAO.DataValue, "dataValue");
    }
  }

  public void addDataLabelSelectProperty() {
    addDataLabelSelectProperty("dataLabel");
  }

  public void addDataLabelSelectProperty(String aAlias) {
    if (StringUtils.isNotBlank(aAlias)) {
      addSelectProperty(IProductUIListOptionDAO.DataLabel, aAlias);
    } else {
      addSelectProperty(IProductUIListOptionDAO.DataLabel, "dataLabel");
    }
  }

  public void addDataIconSelectProperty() {
    addDataIconSelectProperty("dataIcon");
  }

  public void addDataIconSelectProperty(String aAlias) {
    if (StringUtils.isNotBlank(aAlias)) {
      addSelectProperty(IProductUIListOptionDAO.DataIcon, aAlias);
    } else {
      addSelectProperty(IProductUIListOptionDAO.DataIcon, "dataIcon");
    }
  }

  public void addSortIndexSelectProperty() {
    addSortIndexSelectProperty("sortIndex");
  }

  public void addSortIndexSelectProperty(String aAlias) {
    if (StringUtils.isNotBlank(aAlias)) {
      addSelectProperty(IProductUIListOptionDAO.SortIndex, aAlias);
    } else {
      addSelectProperty(IProductUIListOptionDAO.SortIndex, "sortIndex");
    }
  }

  public void addLastModifyUserSelectProperty() {
    addLastModifyUserSelectProperty("lastModifyUser");
  }

  public void addLastModifyUserSelectProperty(String aAlias) {
    if (StringUtils.isNotBlank(aAlias)) {
      addSelectProperty(IProductUIListOptionDAO.LastModifyUser, aAlias);
    } else {
      addSelectProperty(IProductUIListOptionDAO.LastModifyUser, "lastModifyUser");
    }
  }

  public void addLastModifyTimeSelectProperty() {
    addLastModifyTimeSelectProperty("lastModifyTime");
  }

  public void addLastModifyTimeSelectProperty(String aAlias) {
    if (StringUtils.isNotBlank(aAlias)) {
      addSelectProperty(IProductUIListOptionDAO.LastModifyTime, aAlias);
    } else {
      addSelectProperty(IProductUIListOptionDAO.LastModifyTime, "lastModifyTime");
    }
  }

  public void addStatusSelectProperty() {
    addStatusSelectProperty("status");
  }

  public void addStatusSelectProperty(String aAlias) {
    if (StringUtils.isNotBlank(aAlias)) {
      addSelectProperty(IProductUIListOptionDAO.Status, aAlias);
    } else {
      addSelectProperty(IProductUIListOptionDAO.Status, "status");
    }
  }

  public void addRemarksSelectProperty() {
    addRemarksSelectProperty("remarks");
  }

  public void addRemarksSelectProperty(String aAlias) {
    if (StringUtils.isNotBlank(aAlias)) {
      addSelectProperty(IProductUIListOptionDAO.Remarks, aAlias);
    } else {
      addSelectProperty(IProductUIListOptionDAO.Remarks, "remarks");
    }
  }

  public void addAllSelectProperties() {

    addIdSelectProperty();

    addListIdSelectProperty();

    addDataValueSelectProperty();

    addDataLabelSelectProperty();

    addDataIconSelectProperty();

    addSortIndexSelectProperty();

    addLastModifyUserSelectProperty();

    addLastModifyTimeSelectProperty();

    addStatusSelectProperty();

    addRemarksSelectProperty();
  }

  public static class Criteria extends BaseWhereCriterion<ProductUIListOptionDAOQueryBean> {

    protected Criteria(ProductUIListOptionDAOQueryBean aParentObject) {
      super(aParentObject);
    }

    public Criteria andIdIsNull() {
      addCriterion(IProductUIListOptionDAO.Id + " is null");
      return this;
    }

    public Criteria andIdIsNotNull() {
      addCriterion(IProductUIListOptionDAO.Id + " is not null");
      return this;
    }

    public Criteria andIdIsNotEmpty() {
      addCriterion(
          IProductUIListOptionDAO.Id + " is not null AND " + IProductUIListOptionDAO.Id + " <> ''");
      return this;
    }

    public Criteria andIdIsEmpty() {
      addCriterion(
          "("
              + IProductUIListOptionDAO.Id
              + " is null OR "
              + IProductUIListOptionDAO.Id
              + " = '')");
      return this;
    }

    public Criteria andIdEqualTo(long value) {
      return andIdEqualTo(Long.valueOf(value));
    }

    public Criteria andIdEqualTo(java.lang.Long value) {

      addCriterion(IProductUIListOptionDAO.Id + " = ", value, "id");
      return this;
    }

    public Criteria andIdEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.Id);
      str.append(" = ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andIdEqualTo(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.Id + " = ", subQueryBean, dao);
      return this;
    }

    public Criteria andIdNotEqualTo(long value) {
      return andIdNotEqualTo(Long.valueOf(value));
    }

    public Criteria andIdNotEqualTo(java.lang.Long value) {

      addCriterion(IProductUIListOptionDAO.Id + " <>", value, "id");
      return this;
    }

    public Criteria andIdNotEqualToOrIsNull(long value) {
      return andIdNotEqualToOrIsNull(Long.valueOf(value));
    }

    public Criteria andIdNotEqualToOrIsNull(java.lang.Long value) {

      addCriterion(
          IProductUIListOptionDAO.Id + " is null OR " + IProductUIListOptionDAO.Id + " <>",
          value,
          "id");
      return this;
    }

    public Criteria andIdNotEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.Id);
      str.append(" <> ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andIdNotEqualTo(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.Id + " <> ", subQueryBean, dao);
      return this;
    }

    public Criteria andIdGreaterThan(long value) {
      return andIdGreaterThan(Long.valueOf(value));
    }

    public Criteria andIdGreaterThan(java.lang.Long value) {

      addCriterion(IProductUIListOptionDAO.Id + " >", value, "id");
      return this;
    }

    public Criteria andIdGreaterThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.Id);
      str.append(" > ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andIdGreaterThan(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.Id + " > ", subQueryBean, dao);
      return this;
    }

    public Criteria andIdGreaterThanOrEqualTo(long value) {
      return andIdGreaterThanOrEqualTo(Long.valueOf(value));
    }

    public Criteria andIdGreaterThanOrEqualTo(java.lang.Long value) {

      addCriterion(IProductUIListOptionDAO.Id + " >=", value, "id");
      return this;
    }

    public Criteria andIdGreaterThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.Id);
      str.append(" >= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andIdGreaterThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.Id + " >= ", subQueryBean, dao);
      return this;
    }

    public Criteria andIdLessThan(long value) {
      return andIdLessThan(Long.valueOf(value));
    }

    public Criteria andIdLessThan(java.lang.Long value) {

      addCriterion(IProductUIListOptionDAO.Id + " <", value, "id");
      return this;
    }

    public Criteria andIdLessThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.Id);
      str.append(" < ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andIdLessThan(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.Id + " < ", subQueryBean, dao);
      return this;
    }

    public Criteria andIdLessThanOrEqualTo(long value) {
      return andIdLessThanOrEqualTo(Long.valueOf(value));
    }

    public Criteria andIdLessThanOrEqualTo(java.lang.Long value) {

      addCriterion(IProductUIListOptionDAO.Id + " <=", value, "id");
      return this;
    }

    public Criteria andIdLessThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.Id);
      str.append(" <= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andIdLessThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.Id + " <= ", subQueryBean, dao);
      return this;
    }

    public Criteria andIdIn(long[] values) {
      if (values.length == 1) {
        return andIdEqualTo((java.lang.Long) values[0]);
      } else {
        addCriterion(IProductUIListOptionDAO.Id + " in", values, "id");
        return this;
      }
    }

    public Criteria andIdNotIn(long[] values) {
      if (values.length == 1) {
        return andIdNotEqualTo((java.lang.Long) values[0]);
      } else {
        addCriterion(IProductUIListOptionDAO.Id + " not in", values, "id");
        return this;
      }
    }

    public Criteria andIdIn(List<java.lang.Long> values) {

      if (values.size() == 1) {
        return andIdEqualTo(values.get(0));
      } else {
        addCriterion(IProductUIListOptionDAO.Id + " in", values, "id");
        return this;
      }
    }

    public Criteria andIdNotIn(List<java.lang.Long> values) {
      if (values.size() == 1) {
        return andIdNotEqualTo(values.get(0));
      } else {
        addCriterion(IProductUIListOptionDAO.Id + " not in", values, "id");
        return this;
      }
    }

    public Criteria andIdIn(java.lang.Long[] values) {

      if (values.length == 1) {
        return andIdEqualTo(values[0]);
      } else {
        addCriterion(IProductUIListOptionDAO.Id + " in", Arrays.asList(values), "id");
        return this;
      }
    }

    public Criteria andIdNotIn(java.lang.Long[] values) {
      if (values.length == 1) {
        return andIdNotEqualTo(values[0]);
      } else {
        addCriterion(IProductUIListOptionDAO.Id + " not in", Arrays.asList(values), "id");
        return this;
      }
    }

    public Criteria andIdIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.Id + " in ", subQueryBean, dao);
      return this;
    }

    public Criteria andIdNotIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.Id + " not in ", subQueryBean, dao);
      return this;
    }

    public Criteria andIdBetween(long value1, long value2) {
      addCriterion(IProductUIListOptionDAO.Id + " between", value1, value2, "id");
      return this;
    }

    public Criteria andIdBetween(java.lang.Long value1, java.lang.Long value2) {
      addCriterion(IProductUIListOptionDAO.Id + " between", value1, value2, "id");
      return this;
    }

    public Criteria andIdNotBetween(long value1, long value2) {
      addCriterion(IProductUIListOptionDAO.Id + " not between", value1, value2, "id");
      return this;
    }

    public Criteria andIdNotBetween(java.lang.Long value1, java.lang.Long value2) {
      addCriterion(IProductUIListOptionDAO.Id + " not between", value1, value2, "id");
      return this;
    }

    public Criteria andListIdIsNull() {
      addCriterion(IProductUIListOptionDAO.ListId + " is null");
      return this;
    }

    public Criteria andListIdIsNotNull() {
      addCriterion(IProductUIListOptionDAO.ListId + " is not null");
      return this;
    }

    public Criteria andListIdIsNotEmpty() {
      addCriterion(
          IProductUIListOptionDAO.ListId
              + " is not null AND "
              + IProductUIListOptionDAO.ListId
              + " <> ''");
      return this;
    }

    public Criteria andListIdIsEmpty() {
      addCriterion(
          "("
              + IProductUIListOptionDAO.ListId
              + " is null OR "
              + IProductUIListOptionDAO.ListId
              + " = '')");
      return this;
    }

    public Criteria andListIdEqualTo(long value) {
      return andListIdEqualTo(Long.valueOf(value));
    }

    public Criteria andListIdEqualTo(java.lang.Long value) {

      addCriterion(IProductUIListOptionDAO.ListId + " = ", value, "listId");
      return this;
    }

    public Criteria andListIdEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.ListId);
      str.append(" = ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andListIdEqualTo(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.ListId + " = ", subQueryBean, dao);
      return this;
    }

    public Criteria andListIdNotEqualTo(long value) {
      return andListIdNotEqualTo(Long.valueOf(value));
    }

    public Criteria andListIdNotEqualTo(java.lang.Long value) {

      addCriterion(IProductUIListOptionDAO.ListId + " <>", value, "listId");
      return this;
    }

    public Criteria andListIdNotEqualToOrIsNull(long value) {
      return andListIdNotEqualToOrIsNull(Long.valueOf(value));
    }

    public Criteria andListIdNotEqualToOrIsNull(java.lang.Long value) {

      addCriterion(
          IProductUIListOptionDAO.ListId + " is null OR " + IProductUIListOptionDAO.ListId + " <>",
          value,
          "listId");
      return this;
    }

    public Criteria andListIdNotEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.ListId);
      str.append(" <> ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andListIdNotEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.ListId + " <> ", subQueryBean, dao);
      return this;
    }

    public Criteria andListIdGreaterThan(long value) {
      return andListIdGreaterThan(Long.valueOf(value));
    }

    public Criteria andListIdGreaterThan(java.lang.Long value) {

      addCriterion(IProductUIListOptionDAO.ListId + " >", value, "listId");
      return this;
    }

    public Criteria andListIdGreaterThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.ListId);
      str.append(" > ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andListIdGreaterThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.ListId + " > ", subQueryBean, dao);
      return this;
    }

    public Criteria andListIdGreaterThanOrEqualTo(long value) {
      return andListIdGreaterThanOrEqualTo(Long.valueOf(value));
    }

    public Criteria andListIdGreaterThanOrEqualTo(java.lang.Long value) {

      addCriterion(IProductUIListOptionDAO.ListId + " >=", value, "listId");
      return this;
    }

    public Criteria andListIdGreaterThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.ListId);
      str.append(" >= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andListIdGreaterThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.ListId + " >= ", subQueryBean, dao);
      return this;
    }

    public Criteria andListIdLessThan(long value) {
      return andListIdLessThan(Long.valueOf(value));
    }

    public Criteria andListIdLessThan(java.lang.Long value) {

      addCriterion(IProductUIListOptionDAO.ListId + " <", value, "listId");
      return this;
    }

    public Criteria andListIdLessThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.ListId);
      str.append(" < ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andListIdLessThan(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.ListId + " < ", subQueryBean, dao);
      return this;
    }

    public Criteria andListIdLessThanOrEqualTo(long value) {
      return andListIdLessThanOrEqualTo(Long.valueOf(value));
    }

    public Criteria andListIdLessThanOrEqualTo(java.lang.Long value) {

      addCriterion(IProductUIListOptionDAO.ListId + " <=", value, "listId");
      return this;
    }

    public Criteria andListIdLessThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.ListId);
      str.append(" <= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andListIdLessThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.ListId + " <= ", subQueryBean, dao);
      return this;
    }

    public Criteria andListIdIn(long[] values) {
      if (values.length == 1) {
        return andListIdEqualTo((java.lang.Long) values[0]);
      } else {
        addCriterion(IProductUIListOptionDAO.ListId + " in", values, "listId");
        return this;
      }
    }

    public Criteria andListIdNotIn(long[] values) {
      if (values.length == 1) {
        return andListIdNotEqualTo((java.lang.Long) values[0]);
      } else {
        addCriterion(IProductUIListOptionDAO.ListId + " not in", values, "listId");
        return this;
      }
    }

    public Criteria andListIdIn(List<java.lang.Long> values) {

      if (values.size() == 1) {
        return andListIdEqualTo(values.get(0));
      } else {
        addCriterion(IProductUIListOptionDAO.ListId + " in", values, "listId");
        return this;
      }
    }

    public Criteria andListIdNotIn(List<java.lang.Long> values) {
      if (values.size() == 1) {
        return andListIdNotEqualTo(values.get(0));
      } else {
        addCriterion(IProductUIListOptionDAO.ListId + " not in", values, "listId");
        return this;
      }
    }

    public Criteria andListIdIn(java.lang.Long[] values) {

      if (values.length == 1) {
        return andListIdEqualTo(values[0]);
      } else {
        addCriterion(IProductUIListOptionDAO.ListId + " in", Arrays.asList(values), "listId");
        return this;
      }
    }

    public Criteria andListIdNotIn(java.lang.Long[] values) {
      if (values.length == 1) {
        return andListIdNotEqualTo(values[0]);
      } else {
        addCriterion(IProductUIListOptionDAO.ListId + " not in", Arrays.asList(values), "listId");
        return this;
      }
    }

    public Criteria andListIdIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.ListId + " in ", subQueryBean, dao);
      return this;
    }

    public Criteria andListIdNotIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.ListId + " not in ", subQueryBean, dao);
      return this;
    }

    public Criteria andListIdBetween(long value1, long value2) {
      addCriterion(IProductUIListOptionDAO.ListId + " between", value1, value2, "listId");
      return this;
    }

    public Criteria andListIdBetween(java.lang.Long value1, java.lang.Long value2) {
      addCriterion(IProductUIListOptionDAO.ListId + " between", value1, value2, "listId");
      return this;
    }

    public Criteria andListIdNotBetween(long value1, long value2) {
      addCriterion(IProductUIListOptionDAO.ListId + " not between", value1, value2, "listId");
      return this;
    }

    public Criteria andListIdNotBetween(java.lang.Long value1, java.lang.Long value2) {
      addCriterion(IProductUIListOptionDAO.ListId + " not between", value1, value2, "listId");
      return this;
    }

    public Criteria andDataValueIsNull() {
      addCriterion(IProductUIListOptionDAO.DataValue + " is null");
      return this;
    }

    public Criteria andDataValueIsNotNull() {
      addCriterion(IProductUIListOptionDAO.DataValue + " is not null");
      return this;
    }

    public Criteria andDataValueIsNotEmpty() {
      addCriterion(
          IProductUIListOptionDAO.DataValue
              + " is not null AND "
              + IProductUIListOptionDAO.DataValue
              + " <> ''");
      return this;
    }

    public Criteria andDataValueIsEmpty() {
      addCriterion(
          "("
              + IProductUIListOptionDAO.DataValue
              + " is null OR "
              + IProductUIListOptionDAO.DataValue
              + " = '')");
      return this;
    }

    public Criteria andDataValueEqualTo(String value) {

      addCriterion(IProductUIListOptionDAO.DataValue + " = ", value, "dataValue");
      return this;
    }

    public Criteria andDataValueEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.DataValue);
      str.append(" = ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDataValueEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.DataValue + " = ", subQueryBean, dao);
      return this;
    }

    public Criteria andDataValueNotEqualTo(String value) {

      addCriterion(IProductUIListOptionDAO.DataValue + " <>", value, "dataValue");
      return this;
    }

    public Criteria andDataValueNotEqualToOrIsNull(String value) {

      addCriterion(
          IProductUIListOptionDAO.DataValue
              + " is null OR "
              + IProductUIListOptionDAO.DataValue
              + " <>",
          value,
          "dataValue");
      return this;
    }

    public Criteria andDataValueNotEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.DataValue);
      str.append(" <> ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDataValueNotEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.DataValue + " <> ", subQueryBean, dao);
      return this;
    }

    public Criteria andDataValueGreaterThan(String value) {

      addCriterion(IProductUIListOptionDAO.DataValue + " >", value, "dataValue");
      return this;
    }

    public Criteria andDataValueGreaterThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.DataValue);
      str.append(" > ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDataValueGreaterThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.DataValue + " > ", subQueryBean, dao);
      return this;
    }

    public Criteria andDataValueGreaterThanOrEqualTo(String value) {

      addCriterion(IProductUIListOptionDAO.DataValue + " >=", value, "dataValue");
      return this;
    }

    public Criteria andDataValueGreaterThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.DataValue);
      str.append(" >= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDataValueGreaterThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.DataValue + " >= ", subQueryBean, dao);
      return this;
    }

    public Criteria andDataValueLessThan(String value) {

      addCriterion(IProductUIListOptionDAO.DataValue + " <", value, "dataValue");
      return this;
    }

    public Criteria andDataValueLessThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.DataValue);
      str.append(" < ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDataValueLessThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.DataValue + " < ", subQueryBean, dao);
      return this;
    }

    public Criteria andDataValueLessThanOrEqualTo(String value) {

      addCriterion(IProductUIListOptionDAO.DataValue + " <=", value, "dataValue");
      return this;
    }

    public Criteria andDataValueLessThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.DataValue);
      str.append(" <= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDataValueLessThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.DataValue + " <= ", subQueryBean, dao);
      return this;
    }

    public Criteria andDataValueLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(IProductUIListOptionDAO.DataValue + " like", buffer.toString(), "dataValue");
      return this;
    }

    public Criteria andDataValueNotLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(IProductUIListOptionDAO.DataValue + " not like", buffer.toString(), "dataValue");
      return this;
    }

    public Criteria andDataValueIn(List<String> values) {

      if (values.size() == 1) {
        return andDataValueEqualTo(values.get(0));
      } else {
        addCriterion(IProductUIListOptionDAO.DataValue + " in", values, "dataValue");
        return this;
      }
    }

    public Criteria andDataValueNotIn(List<String> values) {
      if (values.size() == 1) {
        return andDataValueNotEqualTo(values.get(0));
      } else {
        addCriterion(IProductUIListOptionDAO.DataValue + " not in", values, "dataValue");
        return this;
      }
    }

    public Criteria andDataValueIn(String[] values) {

      if (values.length == 1) {
        return andDataValueEqualTo(values[0]);
      } else {
        addCriterion(IProductUIListOptionDAO.DataValue + " in", Arrays.asList(values), "dataValue");
        return this;
      }
    }

    public Criteria andDataValueNotIn(String[] values) {
      if (values.length == 1) {
        return andDataValueNotEqualTo(values[0]);
      } else {
        addCriterion(
            IProductUIListOptionDAO.DataValue + " not in", Arrays.asList(values), "dataValue");
        return this;
      }
    }

    public Criteria andDataValueIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.DataValue + " in ", subQueryBean, dao);
      return this;
    }

    public Criteria andDataValueNotIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.DataValue + " not in ", subQueryBean, dao);
      return this;
    }

    public Criteria andDataValueBetween(String value1, String value2) {
      addCriterion(IProductUIListOptionDAO.DataValue + " between", value1, value2, "dataValue");
      return this;
    }

    public Criteria andDataValueNotBetween(String value1, String value2) {
      addCriterion(IProductUIListOptionDAO.DataValue + " not between", value1, value2, "dataValue");
      return this;
    }

    public Criteria andDataLabelIsNull() {
      addCriterion(IProductUIListOptionDAO.DataLabel + " is null");
      return this;
    }

    public Criteria andDataLabelIsNotNull() {
      addCriterion(IProductUIListOptionDAO.DataLabel + " is not null");
      return this;
    }

    public Criteria andDataLabelIsNotEmpty() {
      addCriterion(
          IProductUIListOptionDAO.DataLabel
              + " is not null AND "
              + IProductUIListOptionDAO.DataLabel
              + " <> ''");
      return this;
    }

    public Criteria andDataLabelIsEmpty() {
      addCriterion(
          "("
              + IProductUIListOptionDAO.DataLabel
              + " is null OR "
              + IProductUIListOptionDAO.DataLabel
              + " = '')");
      return this;
    }

    public Criteria andDataLabelEqualTo(String value) {

      addCriterion(IProductUIListOptionDAO.DataLabel + " = ", value, "dataLabel");
      return this;
    }

    public Criteria andDataLabelEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.DataLabel);
      str.append(" = ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDataLabelEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.DataLabel + " = ", subQueryBean, dao);
      return this;
    }

    public Criteria andDataLabelNotEqualTo(String value) {

      addCriterion(IProductUIListOptionDAO.DataLabel + " <>", value, "dataLabel");
      return this;
    }

    public Criteria andDataLabelNotEqualToOrIsNull(String value) {

      addCriterion(
          IProductUIListOptionDAO.DataLabel
              + " is null OR "
              + IProductUIListOptionDAO.DataLabel
              + " <>",
          value,
          "dataLabel");
      return this;
    }

    public Criteria andDataLabelNotEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.DataLabel);
      str.append(" <> ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDataLabelNotEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.DataLabel + " <> ", subQueryBean, dao);
      return this;
    }

    public Criteria andDataLabelGreaterThan(String value) {

      addCriterion(IProductUIListOptionDAO.DataLabel + " >", value, "dataLabel");
      return this;
    }

    public Criteria andDataLabelGreaterThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.DataLabel);
      str.append(" > ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDataLabelGreaterThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.DataLabel + " > ", subQueryBean, dao);
      return this;
    }

    public Criteria andDataLabelGreaterThanOrEqualTo(String value) {

      addCriterion(IProductUIListOptionDAO.DataLabel + " >=", value, "dataLabel");
      return this;
    }

    public Criteria andDataLabelGreaterThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.DataLabel);
      str.append(" >= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDataLabelGreaterThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.DataLabel + " >= ", subQueryBean, dao);
      return this;
    }

    public Criteria andDataLabelLessThan(String value) {

      addCriterion(IProductUIListOptionDAO.DataLabel + " <", value, "dataLabel");
      return this;
    }

    public Criteria andDataLabelLessThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.DataLabel);
      str.append(" < ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDataLabelLessThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.DataLabel + " < ", subQueryBean, dao);
      return this;
    }

    public Criteria andDataLabelLessThanOrEqualTo(String value) {

      addCriterion(IProductUIListOptionDAO.DataLabel + " <=", value, "dataLabel");
      return this;
    }

    public Criteria andDataLabelLessThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.DataLabel);
      str.append(" <= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDataLabelLessThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.DataLabel + " <= ", subQueryBean, dao);
      return this;
    }

    public Criteria andDataLabelLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(IProductUIListOptionDAO.DataLabel + " like", buffer.toString(), "dataLabel");
      return this;
    }

    public Criteria andDataLabelNotLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(IProductUIListOptionDAO.DataLabel + " not like", buffer.toString(), "dataLabel");
      return this;
    }

    public Criteria andDataLabelIn(List<String> values) {

      if (values.size() == 1) {
        return andDataLabelEqualTo(values.get(0));
      } else {
        addCriterion(IProductUIListOptionDAO.DataLabel + " in", values, "dataLabel");
        return this;
      }
    }

    public Criteria andDataLabelNotIn(List<String> values) {
      if (values.size() == 1) {
        return andDataLabelNotEqualTo(values.get(0));
      } else {
        addCriterion(IProductUIListOptionDAO.DataLabel + " not in", values, "dataLabel");
        return this;
      }
    }

    public Criteria andDataLabelIn(String[] values) {

      if (values.length == 1) {
        return andDataLabelEqualTo(values[0]);
      } else {
        addCriterion(IProductUIListOptionDAO.DataLabel + " in", Arrays.asList(values), "dataLabel");
        return this;
      }
    }

    public Criteria andDataLabelNotIn(String[] values) {
      if (values.length == 1) {
        return andDataLabelNotEqualTo(values[0]);
      } else {
        addCriterion(
            IProductUIListOptionDAO.DataLabel + " not in", Arrays.asList(values), "dataLabel");
        return this;
      }
    }

    public Criteria andDataLabelIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.DataLabel + " in ", subQueryBean, dao);
      return this;
    }

    public Criteria andDataLabelNotIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.DataLabel + " not in ", subQueryBean, dao);
      return this;
    }

    public Criteria andDataLabelBetween(String value1, String value2) {
      addCriterion(IProductUIListOptionDAO.DataLabel + " between", value1, value2, "dataLabel");
      return this;
    }

    public Criteria andDataLabelNotBetween(String value1, String value2) {
      addCriterion(IProductUIListOptionDAO.DataLabel + " not between", value1, value2, "dataLabel");
      return this;
    }

    public Criteria andDataIconIsNull() {
      addCriterion(IProductUIListOptionDAO.DataIcon + " is null");
      return this;
    }

    public Criteria andDataIconIsNotNull() {
      addCriterion(IProductUIListOptionDAO.DataIcon + " is not null");
      return this;
    }

    public Criteria andDataIconIsNotEmpty() {
      addCriterion(
          IProductUIListOptionDAO.DataIcon
              + " is not null AND "
              + IProductUIListOptionDAO.DataIcon
              + " <> ''");
      return this;
    }

    public Criteria andDataIconIsEmpty() {
      addCriterion(
          "("
              + IProductUIListOptionDAO.DataIcon
              + " is null OR "
              + IProductUIListOptionDAO.DataIcon
              + " = '')");
      return this;
    }

    public Criteria andDataIconEqualTo(String value) {

      addCriterion(IProductUIListOptionDAO.DataIcon + " = ", value, "dataIcon");
      return this;
    }

    public Criteria andDataIconEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.DataIcon);
      str.append(" = ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDataIconEqualTo(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.DataIcon + " = ", subQueryBean, dao);
      return this;
    }

    public Criteria andDataIconNotEqualTo(String value) {

      addCriterion(IProductUIListOptionDAO.DataIcon + " <>", value, "dataIcon");
      return this;
    }

    public Criteria andDataIconNotEqualToOrIsNull(String value) {

      addCriterion(
          IProductUIListOptionDAO.DataIcon
              + " is null OR "
              + IProductUIListOptionDAO.DataIcon
              + " <>",
          value,
          "dataIcon");
      return this;
    }

    public Criteria andDataIconNotEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.DataIcon);
      str.append(" <> ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDataIconNotEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.DataIcon + " <> ", subQueryBean, dao);
      return this;
    }

    public Criteria andDataIconGreaterThan(String value) {

      addCriterion(IProductUIListOptionDAO.DataIcon + " >", value, "dataIcon");
      return this;
    }

    public Criteria andDataIconGreaterThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.DataIcon);
      str.append(" > ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDataIconGreaterThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.DataIcon + " > ", subQueryBean, dao);
      return this;
    }

    public Criteria andDataIconGreaterThanOrEqualTo(String value) {

      addCriterion(IProductUIListOptionDAO.DataIcon + " >=", value, "dataIcon");
      return this;
    }

    public Criteria andDataIconGreaterThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.DataIcon);
      str.append(" >= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDataIconGreaterThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.DataIcon + " >= ", subQueryBean, dao);
      return this;
    }

    public Criteria andDataIconLessThan(String value) {

      addCriterion(IProductUIListOptionDAO.DataIcon + " <", value, "dataIcon");
      return this;
    }

    public Criteria andDataIconLessThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.DataIcon);
      str.append(" < ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDataIconLessThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.DataIcon + " < ", subQueryBean, dao);
      return this;
    }

    public Criteria andDataIconLessThanOrEqualTo(String value) {

      addCriterion(IProductUIListOptionDAO.DataIcon + " <=", value, "dataIcon");
      return this;
    }

    public Criteria andDataIconLessThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.DataIcon);
      str.append(" <= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDataIconLessThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.DataIcon + " <= ", subQueryBean, dao);
      return this;
    }

    public Criteria andDataIconLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(IProductUIListOptionDAO.DataIcon + " like", buffer.toString(), "dataIcon");
      return this;
    }

    public Criteria andDataIconNotLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(IProductUIListOptionDAO.DataIcon + " not like", buffer.toString(), "dataIcon");
      return this;
    }

    public Criteria andDataIconIn(List<String> values) {

      if (values.size() == 1) {
        return andDataIconEqualTo(values.get(0));
      } else {
        addCriterion(IProductUIListOptionDAO.DataIcon + " in", values, "dataIcon");
        return this;
      }
    }

    public Criteria andDataIconNotIn(List<String> values) {
      if (values.size() == 1) {
        return andDataIconNotEqualTo(values.get(0));
      } else {
        addCriterion(IProductUIListOptionDAO.DataIcon + " not in", values, "dataIcon");
        return this;
      }
    }

    public Criteria andDataIconIn(String[] values) {

      if (values.length == 1) {
        return andDataIconEqualTo(values[0]);
      } else {
        addCriterion(IProductUIListOptionDAO.DataIcon + " in", Arrays.asList(values), "dataIcon");
        return this;
      }
    }

    public Criteria andDataIconNotIn(String[] values) {
      if (values.length == 1) {
        return andDataIconNotEqualTo(values[0]);
      } else {
        addCriterion(
            IProductUIListOptionDAO.DataIcon + " not in", Arrays.asList(values), "dataIcon");
        return this;
      }
    }

    public Criteria andDataIconIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.DataIcon + " in ", subQueryBean, dao);
      return this;
    }

    public Criteria andDataIconNotIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.DataIcon + " not in ", subQueryBean, dao);
      return this;
    }

    public Criteria andDataIconBetween(String value1, String value2) {
      addCriterion(IProductUIListOptionDAO.DataIcon + " between", value1, value2, "dataIcon");
      return this;
    }

    public Criteria andDataIconNotBetween(String value1, String value2) {
      addCriterion(IProductUIListOptionDAO.DataIcon + " not between", value1, value2, "dataIcon");
      return this;
    }

    public Criteria andSortIndexIsNull() {
      addCriterion(IProductUIListOptionDAO.SortIndex + " is null");
      return this;
    }

    public Criteria andSortIndexIsNotNull() {
      addCriterion(IProductUIListOptionDAO.SortIndex + " is not null");
      return this;
    }

    public Criteria andSortIndexIsNotEmpty() {
      addCriterion(
          IProductUIListOptionDAO.SortIndex
              + " is not null AND "
              + IProductUIListOptionDAO.SortIndex
              + " <> ''");
      return this;
    }

    public Criteria andSortIndexIsEmpty() {
      addCriterion(
          "("
              + IProductUIListOptionDAO.SortIndex
              + " is null OR "
              + IProductUIListOptionDAO.SortIndex
              + " = '')");
      return this;
    }

    public Criteria andSortIndexEqualTo(int value) {
      return andSortIndexEqualTo(Integer.valueOf(value));
    }

    public Criteria andSortIndexEqualTo(java.lang.Integer value) {

      addCriterion(IProductUIListOptionDAO.SortIndex + " = ", value, "sortIndex");
      return this;
    }

    public Criteria andSortIndexEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.SortIndex);
      str.append(" = ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andSortIndexEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.SortIndex + " = ", subQueryBean, dao);
      return this;
    }

    public Criteria andSortIndexNotEqualTo(int value) {
      return andSortIndexNotEqualTo(Integer.valueOf(value));
    }

    public Criteria andSortIndexNotEqualTo(java.lang.Integer value) {

      addCriterion(IProductUIListOptionDAO.SortIndex + " <>", value, "sortIndex");
      return this;
    }

    public Criteria andSortIndexNotEqualToOrIsNull(int value) {
      return andSortIndexNotEqualToOrIsNull(Integer.valueOf(value));
    }

    public Criteria andSortIndexNotEqualToOrIsNull(java.lang.Integer value) {

      addCriterion(
          IProductUIListOptionDAO.SortIndex
              + " is null OR "
              + IProductUIListOptionDAO.SortIndex
              + " <>",
          value,
          "sortIndex");
      return this;
    }

    public Criteria andSortIndexNotEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.SortIndex);
      str.append(" <> ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andSortIndexNotEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.SortIndex + " <> ", subQueryBean, dao);
      return this;
    }

    public Criteria andSortIndexGreaterThan(int value) {
      return andSortIndexGreaterThan(Integer.valueOf(value));
    }

    public Criteria andSortIndexGreaterThan(java.lang.Integer value) {

      addCriterion(IProductUIListOptionDAO.SortIndex + " >", value, "sortIndex");
      return this;
    }

    public Criteria andSortIndexGreaterThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.SortIndex);
      str.append(" > ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andSortIndexGreaterThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.SortIndex + " > ", subQueryBean, dao);
      return this;
    }

    public Criteria andSortIndexGreaterThanOrEqualTo(int value) {
      return andSortIndexGreaterThanOrEqualTo(Integer.valueOf(value));
    }

    public Criteria andSortIndexGreaterThanOrEqualTo(java.lang.Integer value) {

      addCriterion(IProductUIListOptionDAO.SortIndex + " >=", value, "sortIndex");
      return this;
    }

    public Criteria andSortIndexGreaterThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.SortIndex);
      str.append(" >= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andSortIndexGreaterThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.SortIndex + " >= ", subQueryBean, dao);
      return this;
    }

    public Criteria andSortIndexLessThan(int value) {
      return andSortIndexLessThan(Integer.valueOf(value));
    }

    public Criteria andSortIndexLessThan(java.lang.Integer value) {

      addCriterion(IProductUIListOptionDAO.SortIndex + " <", value, "sortIndex");
      return this;
    }

    public Criteria andSortIndexLessThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.SortIndex);
      str.append(" < ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andSortIndexLessThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.SortIndex + " < ", subQueryBean, dao);
      return this;
    }

    public Criteria andSortIndexLessThanOrEqualTo(int value) {
      return andSortIndexLessThanOrEqualTo(Integer.valueOf(value));
    }

    public Criteria andSortIndexLessThanOrEqualTo(java.lang.Integer value) {

      addCriterion(IProductUIListOptionDAO.SortIndex + " <=", value, "sortIndex");
      return this;
    }

    public Criteria andSortIndexLessThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.SortIndex);
      str.append(" <= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andSortIndexLessThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.SortIndex + " <= ", subQueryBean, dao);
      return this;
    }

    public Criteria andSortIndexIn(int[] values) {
      if (values.length == 1) {
        return andSortIndexEqualTo((java.lang.Integer) values[0]);
      } else {
        addCriterion(IProductUIListOptionDAO.SortIndex + " in", values, "sortIndex");
        return this;
      }
    }

    public Criteria andSortIndexNotIn(int[] values) {
      if (values.length == 1) {
        return andSortIndexNotEqualTo((java.lang.Integer) values[0]);
      } else {
        addCriterion(IProductUIListOptionDAO.SortIndex + " not in", values, "sortIndex");
        return this;
      }
    }

    public Criteria andSortIndexIn(List<java.lang.Integer> values) {

      if (values.size() == 1) {
        return andSortIndexEqualTo(values.get(0));
      } else {
        addCriterion(IProductUIListOptionDAO.SortIndex + " in", values, "sortIndex");
        return this;
      }
    }

    public Criteria andSortIndexNotIn(List<java.lang.Integer> values) {
      if (values.size() == 1) {
        return andSortIndexNotEqualTo(values.get(0));
      } else {
        addCriterion(IProductUIListOptionDAO.SortIndex + " not in", values, "sortIndex");
        return this;
      }
    }

    public Criteria andSortIndexIn(java.lang.Integer[] values) {

      if (values.length == 1) {
        return andSortIndexEqualTo(values[0]);
      } else {
        addCriterion(IProductUIListOptionDAO.SortIndex + " in", Arrays.asList(values), "sortIndex");
        return this;
      }
    }

    public Criteria andSortIndexNotIn(java.lang.Integer[] values) {
      if (values.length == 1) {
        return andSortIndexNotEqualTo(values[0]);
      } else {
        addCriterion(
            IProductUIListOptionDAO.SortIndex + " not in", Arrays.asList(values), "sortIndex");
        return this;
      }
    }

    public Criteria andSortIndexIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.SortIndex + " in ", subQueryBean, dao);
      return this;
    }

    public Criteria andSortIndexNotIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.SortIndex + " not in ", subQueryBean, dao);
      return this;
    }

    public Criteria andSortIndexBetween(int value1, int value2) {
      addCriterion(IProductUIListOptionDAO.SortIndex + " between", value1, value2, "sortIndex");
      return this;
    }

    public Criteria andSortIndexBetween(java.lang.Integer value1, java.lang.Integer value2) {
      addCriterion(IProductUIListOptionDAO.SortIndex + " between", value1, value2, "sortIndex");
      return this;
    }

    public Criteria andSortIndexNotBetween(int value1, int value2) {
      addCriterion(IProductUIListOptionDAO.SortIndex + " not between", value1, value2, "sortIndex");
      return this;
    }

    public Criteria andSortIndexNotBetween(java.lang.Integer value1, java.lang.Integer value2) {
      addCriterion(IProductUIListOptionDAO.SortIndex + " not between", value1, value2, "sortIndex");
      return this;
    }

    public Criteria andLastModifyUserIsNull() {
      addCriterion(IProductUIListOptionDAO.LastModifyUser + " is null");
      return this;
    }

    public Criteria andLastModifyUserIsNotNull() {
      addCriterion(IProductUIListOptionDAO.LastModifyUser + " is not null");
      return this;
    }

    public Criteria andLastModifyUserIsNotEmpty() {
      addCriterion(
          IProductUIListOptionDAO.LastModifyUser
              + " is not null AND "
              + IProductUIListOptionDAO.LastModifyUser
              + " <> ''");
      return this;
    }

    public Criteria andLastModifyUserIsEmpty() {
      addCriterion(
          "("
              + IProductUIListOptionDAO.LastModifyUser
              + " is null OR "
              + IProductUIListOptionDAO.LastModifyUser
              + " = '')");
      return this;
    }

    public Criteria andLastModifyUserEqualTo(String value) {

      addCriterion(IProductUIListOptionDAO.LastModifyUser + " = ", value, "lastModifyUser");
      return this;
    }

    public Criteria andLastModifyUserEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.LastModifyUser);
      str.append(" = ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andLastModifyUserEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.LastModifyUser + " = ", subQueryBean, dao);
      return this;
    }

    public Criteria andLastModifyUserNotEqualTo(String value) {

      addCriterion(IProductUIListOptionDAO.LastModifyUser + " <>", value, "lastModifyUser");
      return this;
    }

    public Criteria andLastModifyUserNotEqualToOrIsNull(String value) {

      addCriterion(
          IProductUIListOptionDAO.LastModifyUser
              + " is null OR "
              + IProductUIListOptionDAO.LastModifyUser
              + " <>",
          value,
          "lastModifyUser");
      return this;
    }

    public Criteria andLastModifyUserNotEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.LastModifyUser);
      str.append(" <> ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andLastModifyUserNotEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.LastModifyUser + " <> ", subQueryBean, dao);
      return this;
    }

    public Criteria andLastModifyUserGreaterThan(String value) {

      addCriterion(IProductUIListOptionDAO.LastModifyUser + " >", value, "lastModifyUser");
      return this;
    }

    public Criteria andLastModifyUserGreaterThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.LastModifyUser);
      str.append(" > ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andLastModifyUserGreaterThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.LastModifyUser + " > ", subQueryBean, dao);
      return this;
    }

    public Criteria andLastModifyUserGreaterThanOrEqualTo(String value) {

      addCriterion(IProductUIListOptionDAO.LastModifyUser + " >=", value, "lastModifyUser");
      return this;
    }

    public Criteria andLastModifyUserGreaterThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.LastModifyUser);
      str.append(" >= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andLastModifyUserGreaterThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.LastModifyUser + " >= ", subQueryBean, dao);
      return this;
    }

    public Criteria andLastModifyUserLessThan(String value) {

      addCriterion(IProductUIListOptionDAO.LastModifyUser + " <", value, "lastModifyUser");
      return this;
    }

    public Criteria andLastModifyUserLessThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.LastModifyUser);
      str.append(" < ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andLastModifyUserLessThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.LastModifyUser + " < ", subQueryBean, dao);
      return this;
    }

    public Criteria andLastModifyUserLessThanOrEqualTo(String value) {

      addCriterion(IProductUIListOptionDAO.LastModifyUser + " <=", value, "lastModifyUser");
      return this;
    }

    public Criteria andLastModifyUserLessThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.LastModifyUser);
      str.append(" <= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andLastModifyUserLessThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.LastModifyUser + " <= ", subQueryBean, dao);
      return this;
    }

    public Criteria andLastModifyUserLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(
          IProductUIListOptionDAO.LastModifyUser + " like", buffer.toString(), "lastModifyUser");
      return this;
    }

    public Criteria andLastModifyUserNotLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(
          IProductUIListOptionDAO.LastModifyUser + " not like",
          buffer.toString(),
          "lastModifyUser");
      return this;
    }

    public Criteria andLastModifyUserIn(List<String> values) {

      if (values.size() == 1) {
        return andLastModifyUserEqualTo(values.get(0));
      } else {
        addCriterion(IProductUIListOptionDAO.LastModifyUser + " in", values, "lastModifyUser");
        return this;
      }
    }

    public Criteria andLastModifyUserNotIn(List<String> values) {
      if (values.size() == 1) {
        return andLastModifyUserNotEqualTo(values.get(0));
      } else {
        addCriterion(IProductUIListOptionDAO.LastModifyUser + " not in", values, "lastModifyUser");
        return this;
      }
    }

    public Criteria andLastModifyUserIn(String[] values) {

      if (values.length == 1) {
        return andLastModifyUserEqualTo(values[0]);
      } else {
        addCriterion(
            IProductUIListOptionDAO.LastModifyUser + " in",
            Arrays.asList(values),
            "lastModifyUser");
        return this;
      }
    }

    public Criteria andLastModifyUserNotIn(String[] values) {
      if (values.length == 1) {
        return andLastModifyUserNotEqualTo(values[0]);
      } else {
        addCriterion(
            IProductUIListOptionDAO.LastModifyUser + " not in",
            Arrays.asList(values),
            "lastModifyUser");
        return this;
      }
    }

    public Criteria andLastModifyUserIn(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.LastModifyUser + " in ", subQueryBean, dao);
      return this;
    }

    public Criteria andLastModifyUserNotIn(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.LastModifyUser + " not in ", subQueryBean, dao);
      return this;
    }

    public Criteria andLastModifyUserBetween(String value1, String value2) {
      addCriterion(
          IProductUIListOptionDAO.LastModifyUser + " between", value1, value2, "lastModifyUser");
      return this;
    }

    public Criteria andLastModifyUserNotBetween(String value1, String value2) {
      addCriterion(
          IProductUIListOptionDAO.LastModifyUser + " not between",
          value1,
          value2,
          "lastModifyUser");
      return this;
    }

    public Criteria andLastModifyTimeIsNull() {
      addCriterion(IProductUIListOptionDAO.LastModifyTime + " is null");
      return this;
    }

    public Criteria andLastModifyTimeIsNotNull() {
      addCriterion(IProductUIListOptionDAO.LastModifyTime + " is not null");
      return this;
    }

    public Criteria andLastModifyTimeIsNotEmpty() {
      addCriterion(
          IProductUIListOptionDAO.LastModifyTime
              + " is not null AND "
              + IProductUIListOptionDAO.LastModifyTime
              + " <> ''");
      return this;
    }

    public Criteria andLastModifyTimeIsEmpty() {
      addCriterion(
          "("
              + IProductUIListOptionDAO.LastModifyTime
              + " is null OR "
              + IProductUIListOptionDAO.LastModifyTime
              + " = '')");
      return this;
    }

    public Criteria andLastModifyTimeEqualTo(java.util.Date value) {

      addCriterionForJDBCDate(
          IProductUIListOptionDAO.LastModifyTime + " = ", value, "lastModifyTime");
      return this;
    }

    public Criteria andLastModifyTimeEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.LastModifyTime);
      str.append(" = ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andLastModifyTimeEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.LastModifyTime + " = ", subQueryBean, dao);
      return this;
    }

    public Criteria andLastModifyTimeNotEqualTo(java.util.Date value) {

      addCriterionForJDBCDate(
          IProductUIListOptionDAO.LastModifyTime + " <>", value, "lastModifyTime");
      return this;
    }

    public Criteria andLastModifyTimeNotEqualToOrIsNull(java.util.Date value) {

      addCriterionForJDBCDate(
          IProductUIListOptionDAO.LastModifyTime
              + " is null OR "
              + IProductUIListOptionDAO.LastModifyTime
              + " <>",
          value,
          "lastModifyTime");
      return this;
    }

    public Criteria andLastModifyTimeNotEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.LastModifyTime);
      str.append(" <> ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andLastModifyTimeNotEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.LastModifyTime + " <> ", subQueryBean, dao);
      return this;
    }

    public Criteria andLastModifyTimeGreaterThan(java.util.Date value) {

      addCriterionForJDBCDate(
          IProductUIListOptionDAO.LastModifyTime + " >", value, "lastModifyTime");
      return this;
    }

    public Criteria andLastModifyTimeGreaterThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.LastModifyTime);
      str.append(" > ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andLastModifyTimeGreaterThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.LastModifyTime + " > ", subQueryBean, dao);
      return this;
    }

    public Criteria andLastModifyTimeGreaterThanOrEqualTo(java.util.Date value) {

      addCriterionForJDBCDate(
          IProductUIListOptionDAO.LastModifyTime + " >=", value, "lastModifyTime");
      return this;
    }

    public Criteria andLastModifyTimeGreaterThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.LastModifyTime);
      str.append(" >= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andLastModifyTimeGreaterThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.LastModifyTime + " >= ", subQueryBean, dao);
      return this;
    }

    public Criteria andLastModifyTimeLessThan(java.util.Date value) {

      addCriterionForJDBCDate(
          IProductUIListOptionDAO.LastModifyTime + " <", value, "lastModifyTime");
      return this;
    }

    public Criteria andLastModifyTimeLessThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.LastModifyTime);
      str.append(" < ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andLastModifyTimeLessThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.LastModifyTime + " < ", subQueryBean, dao);
      return this;
    }

    public Criteria andLastModifyTimeLessThanOrEqualTo(java.util.Date value) {

      addCriterionForJDBCDate(
          IProductUIListOptionDAO.LastModifyTime + " <=", value, "lastModifyTime");
      return this;
    }

    public Criteria andLastModifyTimeLessThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.LastModifyTime);
      str.append(" <= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andLastModifyTimeLessThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.LastModifyTime + " <= ", subQueryBean, dao);
      return this;
    }

    public Criteria andLastModifyTimeIn(List<java.util.Date> values) {

      if (values.size() == 1) {
        return andLastModifyTimeEqualTo(values.get(0));
      } else {
        addCriterionForJDBCDate(
            IProductUIListOptionDAO.LastModifyTime + " in", values, "lastModifyTime");
        return this;
      }
    }

    public Criteria andLastModifyTimeNotIn(List<java.util.Date> values) {
      if (values.size() == 1) {
        return andLastModifyTimeNotEqualTo(values.get(0));
      } else {
        addCriterionForJDBCDate(
            IProductUIListOptionDAO.LastModifyTime + " not in", values, "lastModifyTime");
        return this;
      }
    }

    public Criteria andLastModifyTimeIn(java.util.Date[] values) {

      if (values.length == 1) {
        return andLastModifyTimeEqualTo(values[0]);
      } else {
        addCriterionForJDBCDate(
            IProductUIListOptionDAO.LastModifyTime + " in",
            Arrays.asList(values),
            "lastModifyTime");
        return this;
      }
    }

    public Criteria andLastModifyTimeNotIn(java.util.Date[] values) {
      if (values.length == 1) {
        return andLastModifyTimeNotEqualTo(values[0]);
      } else {
        addCriterionForJDBCDate(
            IProductUIListOptionDAO.LastModifyTime + " not in",
            Arrays.asList(values),
            "lastModifyTime");
        return this;
      }
    }

    public Criteria andLastModifyTimeIn(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.LastModifyTime + " in ", subQueryBean, dao);
      return this;
    }

    public Criteria andLastModifyTimeNotIn(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.LastModifyTime + " not in ", subQueryBean, dao);
      return this;
    }

    public Criteria andLastModifyTimeBetween(java.util.Date value1, java.util.Date value2) {
      addCriterionForJDBCDate(
          IProductUIListOptionDAO.LastModifyTime + " between", value1, value2, "lastModifyTime");
      return this;
    }

    public Criteria andLastModifyTimeNotBetween(java.util.Date value1, java.util.Date value2) {
      addCriterionForJDBCDate(
          IProductUIListOptionDAO.LastModifyTime + " not between",
          value1,
          value2,
          "lastModifyTime");
      return this;
    }

    public Criteria andStatusIsNull() {
      addCriterion(IProductUIListOptionDAO.Status + " is null");
      return this;
    }

    public Criteria andStatusIsNotNull() {
      addCriterion(IProductUIListOptionDAO.Status + " is not null");
      return this;
    }

    public Criteria andStatusIsNotEmpty() {
      addCriterion(
          IProductUIListOptionDAO.Status
              + " is not null AND "
              + IProductUIListOptionDAO.Status
              + " <> ''");
      return this;
    }

    public Criteria andStatusIsEmpty() {
      addCriterion(
          "("
              + IProductUIListOptionDAO.Status
              + " is null OR "
              + IProductUIListOptionDAO.Status
              + " = '')");
      return this;
    }

    public Criteria andStatusEqualTo(String value) {

      addCriterion(IProductUIListOptionDAO.Status + " = ", value, "status");
      return this;
    }

    public Criteria andStatusEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.Status);
      str.append(" = ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andStatusEqualTo(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.Status + " = ", subQueryBean, dao);
      return this;
    }

    public Criteria andStatusNotEqualTo(String value) {

      addCriterion(IProductUIListOptionDAO.Status + " <>", value, "status");
      return this;
    }

    public Criteria andStatusNotEqualToOrIsNull(String value) {

      addCriterion(
          IProductUIListOptionDAO.Status + " is null OR " + IProductUIListOptionDAO.Status + " <>",
          value,
          "status");
      return this;
    }

    public Criteria andStatusNotEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.Status);
      str.append(" <> ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andStatusNotEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.Status + " <> ", subQueryBean, dao);
      return this;
    }

    public Criteria andStatusGreaterThan(String value) {

      addCriterion(IProductUIListOptionDAO.Status + " >", value, "status");
      return this;
    }

    public Criteria andStatusGreaterThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.Status);
      str.append(" > ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andStatusGreaterThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.Status + " > ", subQueryBean, dao);
      return this;
    }

    public Criteria andStatusGreaterThanOrEqualTo(String value) {

      addCriterion(IProductUIListOptionDAO.Status + " >=", value, "status");
      return this;
    }

    public Criteria andStatusGreaterThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.Status);
      str.append(" >= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andStatusGreaterThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.Status + " >= ", subQueryBean, dao);
      return this;
    }

    public Criteria andStatusLessThan(String value) {

      addCriterion(IProductUIListOptionDAO.Status + " <", value, "status");
      return this;
    }

    public Criteria andStatusLessThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.Status);
      str.append(" < ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andStatusLessThan(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.Status + " < ", subQueryBean, dao);
      return this;
    }

    public Criteria andStatusLessThanOrEqualTo(String value) {

      addCriterion(IProductUIListOptionDAO.Status + " <=", value, "status");
      return this;
    }

    public Criteria andStatusLessThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.Status);
      str.append(" <= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andStatusLessThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.Status + " <= ", subQueryBean, dao);
      return this;
    }

    public Criteria andStatusLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(IProductUIListOptionDAO.Status + " like", buffer.toString(), "status");
      return this;
    }

    public Criteria andStatusNotLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(IProductUIListOptionDAO.Status + " not like", buffer.toString(), "status");
      return this;
    }

    public Criteria andStatusIn(List<String> values) {

      if (values.size() == 1) {
        return andStatusEqualTo(values.get(0));
      } else {
        addCriterion(IProductUIListOptionDAO.Status + " in", values, "status");
        return this;
      }
    }

    public Criteria andStatusNotIn(List<String> values) {
      if (values.size() == 1) {
        return andStatusNotEqualTo(values.get(0));
      } else {
        addCriterion(IProductUIListOptionDAO.Status + " not in", values, "status");
        return this;
      }
    }

    public Criteria andStatusIn(String[] values) {

      if (values.length == 1) {
        return andStatusEqualTo(values[0]);
      } else {
        addCriterion(IProductUIListOptionDAO.Status + " in", Arrays.asList(values), "status");
        return this;
      }
    }

    public Criteria andStatusNotIn(String[] values) {
      if (values.length == 1) {
        return andStatusNotEqualTo(values[0]);
      } else {
        addCriterion(IProductUIListOptionDAO.Status + " not in", Arrays.asList(values), "status");
        return this;
      }
    }

    public Criteria andStatusIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.Status + " in ", subQueryBean, dao);
      return this;
    }

    public Criteria andStatusNotIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.Status + " not in ", subQueryBean, dao);
      return this;
    }

    public Criteria andStatusBetween(String value1, String value2) {
      addCriterion(IProductUIListOptionDAO.Status + " between", value1, value2, "status");
      return this;
    }

    public Criteria andStatusNotBetween(String value1, String value2) {
      addCriterion(IProductUIListOptionDAO.Status + " not between", value1, value2, "status");
      return this;
    }

    public Criteria andRemarksIsNull() {
      addCriterion(IProductUIListOptionDAO.Remarks + " is null");
      return this;
    }

    public Criteria andRemarksIsNotNull() {
      addCriterion(IProductUIListOptionDAO.Remarks + " is not null");
      return this;
    }

    public Criteria andRemarksIsNotEmpty() {
      addCriterion(
          IProductUIListOptionDAO.Remarks
              + " is not null AND "
              + IProductUIListOptionDAO.Remarks
              + " <> ''");
      return this;
    }

    public Criteria andRemarksIsEmpty() {
      addCriterion(
          "("
              + IProductUIListOptionDAO.Remarks
              + " is null OR "
              + IProductUIListOptionDAO.Remarks
              + " = '')");
      return this;
    }

    public Criteria andRemarksEqualTo(String value) {

      addCriterion(IProductUIListOptionDAO.Remarks + " = ", value, "remarks");
      return this;
    }

    public Criteria andRemarksEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.Remarks);
      str.append(" = ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andRemarksEqualTo(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.Remarks + " = ", subQueryBean, dao);
      return this;
    }

    public Criteria andRemarksNotEqualTo(String value) {

      addCriterion(IProductUIListOptionDAO.Remarks + " <>", value, "remarks");
      return this;
    }

    public Criteria andRemarksNotEqualToOrIsNull(String value) {

      addCriterion(
          IProductUIListOptionDAO.Remarks
              + " is null OR "
              + IProductUIListOptionDAO.Remarks
              + " <>",
          value,
          "remarks");
      return this;
    }

    public Criteria andRemarksNotEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.Remarks);
      str.append(" <> ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andRemarksNotEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.Remarks + " <> ", subQueryBean, dao);
      return this;
    }

    public Criteria andRemarksGreaterThan(String value) {

      addCriterion(IProductUIListOptionDAO.Remarks + " >", value, "remarks");
      return this;
    }

    public Criteria andRemarksGreaterThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.Remarks);
      str.append(" > ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andRemarksGreaterThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.Remarks + " > ", subQueryBean, dao);
      return this;
    }

    public Criteria andRemarksGreaterThanOrEqualTo(String value) {

      addCriterion(IProductUIListOptionDAO.Remarks + " >=", value, "remarks");
      return this;
    }

    public Criteria andRemarksGreaterThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.Remarks);
      str.append(" >= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andRemarksGreaterThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.Remarks + " >= ", subQueryBean, dao);
      return this;
    }

    public Criteria andRemarksLessThan(String value) {

      addCriterion(IProductUIListOptionDAO.Remarks + " <", value, "remarks");
      return this;
    }

    public Criteria andRemarksLessThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.Remarks);
      str.append(" < ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andRemarksLessThan(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.Remarks + " < ", subQueryBean, dao);
      return this;
    }

    public Criteria andRemarksLessThanOrEqualTo(String value) {

      addCriterion(IProductUIListOptionDAO.Remarks + " <=", value, "remarks");
      return this;
    }

    public Criteria andRemarksLessThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUIListOptionDAO.Remarks);
      str.append(" <= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andRemarksLessThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.Remarks + " <= ", subQueryBean, dao);
      return this;
    }

    public Criteria andRemarksLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(IProductUIListOptionDAO.Remarks + " like", buffer.toString(), "remarks");
      return this;
    }

    public Criteria andRemarksNotLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(IProductUIListOptionDAO.Remarks + " not like", buffer.toString(), "remarks");
      return this;
    }

    public Criteria andRemarksIn(List<String> values) {

      if (values.size() == 1) {
        return andRemarksEqualTo(values.get(0));
      } else {
        addCriterion(IProductUIListOptionDAO.Remarks + " in", values, "remarks");
        return this;
      }
    }

    public Criteria andRemarksNotIn(List<String> values) {
      if (values.size() == 1) {
        return andRemarksNotEqualTo(values.get(0));
      } else {
        addCriterion(IProductUIListOptionDAO.Remarks + " not in", values, "remarks");
        return this;
      }
    }

    public Criteria andRemarksIn(String[] values) {

      if (values.length == 1) {
        return andRemarksEqualTo(values[0]);
      } else {
        addCriterion(IProductUIListOptionDAO.Remarks + " in", Arrays.asList(values), "remarks");
        return this;
      }
    }

    public Criteria andRemarksNotIn(String[] values) {
      if (values.length == 1) {
        return andRemarksNotEqualTo(values[0]);
      } else {
        addCriterion(IProductUIListOptionDAO.Remarks + " not in", Arrays.asList(values), "remarks");
        return this;
      }
    }

    public Criteria andRemarksIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.Remarks + " in ", subQueryBean, dao);
      return this;
    }

    public Criteria andRemarksNotIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUIListOptionDAO.Remarks + " not in ", subQueryBean, dao);
      return this;
    }

    public Criteria andRemarksBetween(String value1, String value2) {
      addCriterion(IProductUIListOptionDAO.Remarks + " between", value1, value2, "remarks");
      return this;
    }

    public Criteria andRemarksNotBetween(String value1, String value2) {
      addCriterion(IProductUIListOptionDAO.Remarks + " not between", value1, value2, "remarks");
      return this;
    }
  }
}
